package org.biubiu0002.baiblog.core.component;

import org.biubiu0002.baiblog.core.async.event.FollowEvent;
import org.biubiu0002.baiblog.core.async.event.PostShareEvent;
import org.biubiu0002.baiblog.core.async.event.UpdateShareEvent;
import org.biubiu0002.baiblog.core.async.event.UpdateUserStatusEvent;

/**
 * @Author: biubiu0002
 * @Date: 2022-05-05 22:56
 **/
public interface RabbitMqService {
    /**
     * 发送修改用户状态MQ
     * @param updateUserStatusEvent 修改用户状态MQ
     */
    void sendUpdateUserStatusEvent(UpdateUserStatusEvent updateUserStatusEvent);

    /**
     * 发布推文MQ
     * @param postShareEvent 发布推文MQ
     */
    void sendPostShareEvent(PostShareEvent postShareEvent);

    /**
     * 更新推文MQ
     * @param updateShareEvent 更新推文MQ
     */
    void sendUpdateShareEvent(UpdateShareEvent updateShareEvent);

    /**
     * 关注用户MQ
     * @param followEvent 关注用户
     */
    void sendFollowEvent(FollowEvent followEvent);
}
